package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 学员考试记录对象 jx_exam_record
 * 
 * @author ruoyi
 * @date 2025-01-27
 */
public class JxExamRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 考试记录ID */
    private Long examId;

    /** 学员ID */
    @Excel(name = "学员ID")
    private Long studentId;

    /** 科目ID */
    @Excel(name = "科目ID")
    private Long subjectId;

    /** 第几次考试 */
    @Excel(name = "考试次数")
    private Integer attemptNo;

    /** 成绩 */
    @Excel(name = "成绩")
    private Integer score;

    /** 结果（通过/未通过/缺考） */
    @Excel(name = "结果", readConverterExp = "通过=通过,未通过=未通过,缺考=缺考")
    private String result;

    /** 考试时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "考试时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date examTime;

    /** 学员姓名（关联查询） */
    @Excel(name = "学员姓名")
    private String studentName;

    /** 学员学号（关联查询） */
    @Excel(name = "学号")
    private String studentNo;

    /** 科目名称（关联查询） */
    @Excel(name = "科目名称")
    private String subjectName;

    /** 科目编码（关联查询） */
    @Excel(name = "科目编码")
    private String subjectCode;

    public void setExamId(Long examId) 
    {
        this.examId = examId;
    }

    public Long getExamId() 
    {
        return examId;
    }
    public void setStudentId(Long studentId) 
    {
        this.studentId = studentId;
    }

    public Long getStudentId() 
    {
        return studentId;
    }
    public void setSubjectId(Long subjectId) 
    {
        this.subjectId = subjectId;
    }

    public Long getSubjectId() 
    {
        return subjectId;
    }
    public void setAttemptNo(Integer attemptNo) 
    {
        this.attemptNo = attemptNo;
    }

    public Integer getAttemptNo() 
    {
        return attemptNo;
    }
    public void setScore(Integer score) 
    {
        this.score = score;
    }

    public Integer getScore() 
    {
        return score;
    }
    public void setResult(String result) 
    {
        this.result = result;
    }

    public String getResult() 
    {
        return result;
    }
    public void setExamTime(Date examTime) 
    {
        this.examTime = examTime;
    }

    public Date getExamTime() 
    {
        return examTime;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getStudentNo() {
        return studentNo;
    }

    public void setStudentNo(String studentNo) {
        this.studentNo = studentNo;
    }

    public String getSubjectName() {
        return subjectName;
    }

    public void setSubjectName(String subjectName) {
        this.subjectName = subjectName;
    }

    public String getSubjectCode() {
        return subjectCode;
    }

    public void setSubjectCode(String subjectCode) {
        this.subjectCode = subjectCode;
    }

    @Override
    public String toString() {
        return "JxExamRecord{" +
                "examId=" + examId +
                ", studentId=" + studentId +
                ", subjectId=" + subjectId +
                ", attemptNo=" + attemptNo +
                ", score=" + score +
                ", result='" + result + '\'' +
                ", examTime=" + examTime +
                ", studentName='" + studentName + '\'' +
                ", studentNo='" + studentNo + '\'' +
                ", subjectName='" + subjectName + '\'' +
                ", subjectCode='" + subjectCode + '\'' +
                '}';
    }
}
